If Instr(KEYBOARD$(0)+KEYBOARD$(1),Chr$(SC))>0 Then Gosub PLAZKEY
If Instr(KEYBOARD$(2),Chr$(SC))>0 Then Gosub SETSAMPLE
STTIM=Max(STTIM-1,0)
If STTIM=1 Then STPRI=0 : STATUS[0,0,0]
Return
' 0=do not tick, do action immediatly
' 1=Keep pressed and do action until realised
' 2=Click box until realised then do action
' 4=Tick/Untick button and do action
PATHES:
Data 4
Data "ST-00:"
Data "ST-00:PLST"
Data "ST-00:Modules/"
Data "AMT."
MESSAGES:
Data 5
Data "All right"
Data "AMOS Music Tracker "+VER$
Data "Couldn't load PLST!"
Data "Sample not found!"
Data "Loading Sample..."
KEYS:
Data 3
' Permanent Keys
Data 6
Data "DmaStop",48,0,0
Data "SelOct1",80,0,0
Data "SelOct2",81,0,0
Data "NexVoice",66,0,0
Data "PreVoice",66,1,3
Data "KilSample",60,0,0
' Main Keys
Data 1
Data "Dummy",0,0,0
' PLST Keys
Data 1
Data "Dummy",0,0,0
KEYPAD:
Data Chr$(15)+"Z[\]=>?J-./^"+Chr$(29)+Chr$(30)+Chr$(31)+"C"
KEYBOARD:
Data '1!2"34$5%6&78(9):'
Data Chr$(16)+Chr$(2)+Chr$(17)+Chr$(3)+Chr$(18)+Chr$(19)+Chr$(5)+Chr$(20)+Chr$(6)+Chr$(21)+Chr$(7)+Chr$(22)+Chr$(23)+Chr$(9)+Chr$(24)+Chr$(10)+Chr$(25)+Chr$(26)+Chr$(12)+Chr$(27)
NONAMES:
Data 38
Data "---"
Data "C-1","C#1","D-1","D#1","E-1","F-1","F#1","G-1","G#1","A-1","A#1","B-1"
Data "C-2","C#2","D-2","D#2","E-2","F-2","F#2","G-2","G#2","A-2","A#2","B-2"
Data "C-3","C#3","D-3","D#3","E-3","F-3","F#3","G-3","G#3","A-3","A#3","B-3"
Data "???"
REPLAYRATES:
Data 36
Data 856,808,762,720,678,640,604,570,538,508,480,453
Data 428,404,381,360,339,320,302,285,269,254,240,226
Data 214,202,190,180,170,160,151,143,135,127,120,113
REPLAYFREQ:
Data 36
Data 4181,4430,4697,4971,5279,5593,5926,6279,6653,7046,7457,7901
Data 8363,8860,9395,9943,10559,11186,11852,12559,13306,14092,14914,15838
Data 16726,17720,18839,19886,21056,22372,23705,25031,26515,28185,29829,31677
BUTTONS:
Data 3
' Permanent Buttons
Data 47
' Exit Button
Data 0,0,0,0,0,"QuitOut",69,0,$FF
' Music
Data 70,0,97,10,0,"MusikNumEnt",0,0,0
Data 98,0,108,10,1,"MusikNumUp",0,0,0
Data 109,0,119,10,1,"MusikNumDown",0,0,0
' Length
Data 70,11,97,21,0,"MusLenEnt",0,0,0
Data 98,11,108,21,1,"MusLenUp",0,0,0
Data 109,11,119,21,1,"MusLen",0,0,0
' Pos
Data 48,22,58,32,2,"InsPos",0,0,0
Data 59,22,69,32,2,"DelPos",0,0,0
Data 70,22,97,32,0,"PosEnt",0,0,0
Data 98,22,108,32,1,"PosUp",78,1,3
Data 109,22,119,32,1,"PosDown",79,1,3
' Pattern 1
Data 70,33,97,43,0,"Pat1Ent",0,0,0
Data 98,33,108,43,1,"Pat1Up",0,0,0
Data 109,33,119,43,1,"Pat1Down",0,0,0
' Pattern 2
Data 70,44,97,54,0,"Pat2Ent",0,0,0
Data 98,44,108,54,1,"Pat2Up",0,0,0
Data 109,44,119,54,1,"Pat2Down",0,0,0
' Pattern 3
Data 70,55,97,65,0,"Pat3Ent",0,0,0
Data 98,55,108,65,1,"Pat3Up",0,0,0
Data 109,55,119,65,1,"Pat3Down",0,0,0
' Pattern 4
Data 70,66,97,76,0,"Pat4Ent",0,0,0
Data 98,66,108,76,1,"Pat4Up",0,0,0
Data 109,66,119,76,1,"Pat4Down",0,0,0
' Sample
Data 62,77,97,87,0,"SamNumEnt",0,0,0
Data 98,77,108,87,1,"SamNumUp",78,8,8
Data 109,77,119,87,1,"SamNumDown",79,8,8
' Volume
Data 62,88,97,98,0,"VoluneEnt",0,0,0
Data 98,88,108,98,1,"VoluneUp",0,0,0
Data 109,88,119,98,1,"VoluneDown",0,0,0
' Length
Data 62,99,97,109,0,"SamLenEnt",0,0,0
Data 98,99,108,109,1,"SamLenUp",0,0,0
Data 109,99,119,109,1,"SamLenDown",0,0,0
' Repeat
Data 62,110,97,120,0,"RepPosEnt",0,0,0
Data 98,110,108,120,1,"RepPosUp",0,0,0
Data 109,110,119,120,1,"RepPosDown",0,0,0
' RepLen
Data 62,121,97,131,0,"RepLenEnt",0,0,0
Data 98,121,108,131,1,"RepLenUp",0,0,0
Data 109,121,119,131,1,"RepLenDown",0,0,0
' Patternlength/PatV1/PatV2/PatV3/PatV4
Data 7,133,25,141,0,"PatLenEnt",0,0,0
Data 71,133,97,141,0,"ActPat1Ent",0,0,0
Data 143,133,169,141,0,"ActPat2Ent",0,0,0
Data 215,133,241,141,0,"ActPat3Ent",0,0,0
Data 287,133,313,141,0,"ActPat4Ent",0,0,0
' Samplename/Load/Songname
Data 120,99,286,109,0,"SamNamEnt",0,0,0
Data 287,99,319,109,2,"SamLoad",0,0,0
Data 120,110,319,120,0,"SongNamEnt",0,0,0
' Main Buttons
Data 16
' Play/Pattern/Edit
Data 120,0,181,10,2,"PlazMusic",68,0,0
Data 120,11,181,21,2,"PlazPat",0,0,0
Data 120,22,181,32,2,"EdMode",64,0,$FF
' Stop/Record/Clear
Data 182,0,243,10,2,"HaltMusic",64,0,$FF
Data 182,11,243,21,0,"Record",0,0,0
Data 182,22,243,32,2,"Clear",70,0,0
' Plst/Plst-Ed/Edit Op.
Data 244,0,305,10,2,"PlstScreen",95,0,0
Data 244,11,305,21,0,"PlstEdScreen",95,1,3
Data 244,22,305,32,0,"EdOpScreen",0,0,0
' Load Module/Save Module
Data 120,33,212,43,2,"MusikSave",0,0,0
Data 213,33,305,43,2,"MusikLoad",0,0,0
' Voice 1/2/3/4 toggles/Credits
Data 306,0,319,10,6,"TggleVoice1",1,16,16
Data 306,11,319,21,6,"TggleVoice2",2,16,16
Data 306,22,319,32,6,"TggleVoice3",3,16,16
Data 306,33,319,43,6,"TggleVoice4",4,16,16
Data 306,44,319,54,2,"Credits",0,0,0
' Plst Buttons
Data 12
' Clear/Exit
Data 120,0,171,10,2,"ClearFilters",0,0,0
Data 268,0,319,10,2,"PlstExit",95,0,0
Data 120,11,171,21,0,"Filter1Ent",0,0,0
Data 172,11,219,21,0,"Filter2Ent",0,0,0
Data 220,11,267,21,0,"Filter3Ent",0,0,0
Data 268,11,319,21,2,"FilterMounted",0,0,0
Data 308,22,319,32,2,"PlstTop",76,16,16
Data 308,33,319,43,1,"PlstUp",76,0,3
Data 308,44,319,76,2,"PlstExit",95,0,0
Data 308,77,319,87,1,"PlstDown",77,0,3
Data 308,88,319,98,2,"PlstBottom",77,16,16
Data 123,23,304,94,0,"PlstClicked",0,0,0
Procedure INITFONTS
' Get Disc Fonts
' A=0 : FONT=0
' Repeat
' Inc A
' If Instr(Upper$(Font$(A)),"AMOSMUSIC") Then FONT=A : Exit
' Until Font$(A)=""
' If FONT=0 Then Print "Error: Font not found!" : Stop
' Set Font FONT
Extension_19_05B0 "AmosMusic.font",6
End Proc
Procedure STATUS[MESNUM,PRI,TIM]
Shared MES$(),STPRI,STTIM
If STPRI>PRI Then Return
STTIM=TIM
STPRI=PRI
Ink 0,2 : Text 129,124,MES$(MESNUM)+Space$(23-Len(MES$(MESNUM)))
End Proc
Procedure PRESS[BUT]
Shared B()
Ink 3 : Draw B(BUT,0),B(BUT,3)-1 To B(BUT,0),B(BUT,1) : Draw To B(BUT,2)-1,B(BUT,1)
Ink 1 : Draw B(BUT,0)+1,B(BUT,3) To B(BUT,2),B(BUT,3) : Draw To B(BUT,2),B(BUT,1)+1
End Proc
Procedure REALISE[BUT]
Shared B()
Ink 1 : Draw B(BUT,0),B(BUT,3)-1 To B(BUT,0),B(BUT,1) : Draw To B(BUT,2)-1,B(BUT,1)
Ink 3 : Draw B(BUT,0)+1,B(BUT,3) To B(BUT,2),B(BUT,3) : Draw To B(BUT,2),B(BUT,1)+1
End Proc
Procedure INVERSE[BUT]
Shared B()
C1=Point(B(BUT,0),B(BUT,1))
C2=Point(B(BUT,2),B(BUT,3))
Ink C2 : Draw B(BUT,0),B(BUT,3)-1 To B(BUT,0),B(BUT,1) : Draw To B(BUT,2)-1,B(BUT,1)
Ink C1 : Draw B(BUT,0)+1,B(BUT,3) To B(BUT,2),B(BUT,3) : Draw To B(BUT,2),B(BUT,1)+1